<?php
/* SVN FILE: $Id: app_controller.php 7945 2008-12-19 02:16:01Z gwoo $ */
/**
 * Short description for file.
 *
 * This file is application-wide controller file. You can put all
 * application-wide controller-related methods here.
 *
 * PHP versions 4 and 5
 *
 * CakePHP(tm) :  Rapid Development Framework (http://www.cakephp.org)
 * Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org)
 *
 * Licensed under The MIT License
 * Redistributions of files must retain the above copyright notice.
 *
 * @filesource
 * @copyright     Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org)
 * @link          http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project
 * @package       cake
 * @subpackage    cake.app
 * @since         CakePHP(tm) v 0.2.9
 * @version       $Revision: 7945 $
 * @modifiedby    $LastChangedBy: gwoo $
 * @lastmodified  $Date: 2008-12-18 18:16:01 -0800 (Thu, 18 Dec 2008) $
 * @license       http://www.opensource.org/licenses/mit-license.php The MIT License
 */
/**
 * Short description for class.
 *
 * Add your application-wide methods in the class below, your controllers
 * will inherit them.
 *
 * @package       cake
 * @subpackage    cake.app
 */

class AppController extends Controller {
	var $components = array('Auth', 'Session');

	var $helpers = array('Form', 'Html', 'Javascript', 'Ajax');
	
	// Dùng để lấy thông tin người dùng đăng nhập
	var $uses = array('User', 'Canbo');

	function beforeFilter() { 
		Security::setHash('md5');
		
		// Authenticate
		$this->Auth->loginAction 	= array('controller' => 'users', 'action' => 'login');
		$this->Auth->loginRedirect 	= array('controller'=>'pages', 'action' => 'home');
		$this->Auth->loginError 	= 'Tên tài khoản hoặc mật khẩu sai';
		$this->Auth->logoutRedirect = '/';
		//$this->Auth->authorize = 'controller';
		
		// Kiểm tra tính hợp lệ của các thao tác
    	// admin: không được phép thêm/sửa/xóa 
		//			+ nông hộ 
		//			+ sổ tay 
		//			+ phiếu điều tra và thông tin
		//			+ thời tiết
		//			+ bẫy đèn
		//			+ phiếu điều tra bẫy đèn
		
		if($this->Auth->user('ROLE') == 'admin'){
			$controller = $this->params['controller'];
			$action = $this->params['action'];
			
			if(in_array($controller, array('nonghos', 'sotays', 'phieu_dts', 'SdungThuocs', 'sd_phanbons', 'thoitiets', 'p_dt_bds') )){
				if(in_array($action, array('index', 'view', 'display','xuatpdf','index1')) == false){
					$this->Session->setFlash('Đây là các thao tác của điều tra viên. Bạn không thể thực hiện được!');
					$this->redirect(array('controller'=>'pages', 'action'=>'home'));
				}
			}
		}
        
        //kiem tra quyen cua User: khong duoc sua danh muc
        if($this->Auth->user('ROLE') == 'user'){
			$controller = $this->params['controller'];
			$action = $this->params['action'];
			
			if(in_array($controller, array('tinhs', 'huyens', 'xas', 'thuocs', 'gocthuocs', 'loaiphans', 'baydens','hcthuocs') )){
				if(in_array($action, array('index', 'index1','view')) == false){
					$this->Session->setFlash('Đây là các thao tác của Quản trị. Bạn không thể thực hiện được! Vui lòng liên hệ Quản trị');
					$this->redirect(array('controller'=>'pages', 'action'=>'home'));
				}
			}
		}		
	}
	
	function beforeRender() {
    	$this->set('curUser', $this->Auth->user());
	}
}
?>